لقد حصلت على هذا html / php في index.php الخاص بي إذا (isset ($ _ POST ['UploadMSub'])) { $ fileP = $ _ FILES ['Upload_f'] ؛ $ fileP_name = $ fileP ['name'] ؛ $ fileP_tmp = $ fileP ['tmp_name'] ؛ $ fileP_size = $ fileP ['size'] ؛ $ fileP_error = $ fileP ['error'] ؛ $ fileP_extension = explode ('.'، $ fileP_name)؛ $ fileP_extension = strtolower (end ($ fileP_extension)) ؛ $ المسموح بها = مصفوفة ('jpg'، 'png')؛ إذا (in_array ($ fileP_extension ، $ مسموح به)) { إذا ($ fileP_error === 0) { إذا ($ fileP_size <= 2097152) { $ fileP_new_name = uniqid (). '.'. $ fileP_extension؛ } } } $ _SESSION ['fileP'] = $ fileP؛ $ _SESSION ['fileP_name'] = $ fileP_name ؛ $ _SESSION ['fileP_tmp'] = $ fileP_tmp؛ _SESSION $ ['fileP_size'] = $ fileP_size ؛ $ _SESSION ['fileP_error'] = $ fileP_error ؛ _SESSION $ ['fileP_extension'] = fileP_extension $ ؛ $ _SESSION ['fileP_new_name'] = $ fileP_new_name ؛ }وهذا أياكس $ (". UploadMSub"). انقر فوق (الوظيفة () { var text = $ (". Text"). val () ؛ var file = $ ("# Nameupload"). val ()؛ .ajax $ ({ اكتب: "GET" ، url: '../connect.php'، البيانات: "نص =" + نص + "&& ملف =" + ملف ، نجاح: وظيفة (بيانات) { تنبيه (بيانات) ؛ } }) ؛ عودة كاذبة؛ }) ؛ connect.php if (isset ($ _ GET ['Text'])) { $ Text = htmlspecialchars ($ _ GET ['Text']، ENT_QUOTES)؛ $ file = htmlspecialchars ($ _ GET ['file']، ENT_QUOTES)؛ صدى $ Text. "". $ _ جلسة ['fileP_new_name']؛ } لكن عندما أرسل النموذج يعود (تنبيهات) "ملف غير معرف" "fileP_new_name" هل هناك أي طريقة أخرى للحصول على جميع المعلومات حول الملف في connect.php الخاص بي؟
2020-12-18 08:20:03
المشكلة هي، عندما تضغط على زر الإرسال ، لا يتم إرسال النموذج ، مما يعني أنه لم يتم تعيين أي من متغيرات الجلسة الخاصة بك عندما تضغط على زر الإرسال. بدلاً من ذلك ، يتم تشغيل نص jQuery فورًا عندما تضغط على زر الإرسال ، ولهذا السبب تحصل على هذا الخطأ ، فهرس غير محدد: fileP_new_name من سؤالك هل هناك أي طريقة أخرى للحصول على جميع المعلومات حول الملف في connect.php الخاص بي؟ لذا فإن الحل على النحو التالي. يجب عليك تغيير بعض الأشياء في التعليمات البرمجية الخاصة بك ، مثل: أضف سمة اسم في عنصر